perm filename HEURIS[W85,JMC] blob sn#789565 filedate 1985-03-03 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	heuris[w85,jmc]		Heuristics in logic
C00004 ENDMK
CāŠ—;
heuris[w85,jmc]		Heuristics in logic

The object is to use a general logical problem solver as a heuristic
engine by expressing the specific heuristics as logical formulas.
The key to this is the predicate  better(s1,s2)  which is coupled
with  attainable(s1,s2).  The problem solver attempts to find
a situation attainable from the present situation that is better
than the present situation.  It is also guided by a predicate
distance(s1,s2)  so it can look for the closest attainable
situation that is better, i.e. we want it to do breadth first
search.  Remark: depth first search is ok provided we have a
guarantee that unsuccessful branches will cut off promptly.
If we use the  db(p,s)  pseudo-STRIPS formalism, the distance
function can be somewhat intensional.